package ar.edu.utn.frgp.TPFinalBanco.action;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;


import ar.edu.utn.frgp.TPFinalBanco.model.Cliente;
import ar.edu.utn.frgp.TPFinalBanco.model.Cuenta;
import ar.edu.utn.frgp.TPFinalBanco.model.EstadoCuentaEnum;
import ar.edu.utn.frgp.TPFinalBanco.model.TipoCuentaEnum;
import ar.edu.utn.frgp.TPFinalBanco.service.impl.GestionCuentaServiceImpl;

import com.opensymphony.xwork2.ActionContext;

public class BorrarCuentaAction extends BaseAction {

	/**
	 * 
	 */
	private static final long serialVersionUID = -4487081772280710306L;

	private Map<String, Object> session;
	private String descubierto;
	private String nroCuenta;

	public String execute() throws Exception {
		session = ActionContext.getContext().getSession();
		
		GestionCuentaServiceImpl cuentaService = (GestionCuentaServiceImpl) getContext()
				.getBean("gestionCuentasService");

		Cuenta cuenta = cuentaService.getCuenta(new Integer(nroCuenta));
		
		if(cuenta.getSaldo().compareTo(new BigDecimal(0))==0){

			
			cuenta.setEstado(EstadoCuentaEnum.I.name());

			// lo guardamos en la BD
			cuentaService.updateCuenta(cuenta);
		//	cuentaService.deleteCuenta(cuenta);
			
			
			return SUCCESS;

		} else {
			String errorMsg = String.format(
					"La cuenta debe estar en Cero");
			addActionError(errorMsg);
			return ERROR;
		}

	}


	public Map<String, Object> getSession() {
		return session;
	}

	public void setSession(Map<String, Object> session) {
		this.session = session;
	}

	public String getDescubierto() {
		return descubierto;
	}

	public void setDescubierto(String descubierto) {
		this.descubierto = descubierto;
	}

	public String getNroCuenta() {
		return nroCuenta;
	}


	public void setNroCuenta(String nroCuenta) {
		this.nroCuenta = nroCuenta;
	}



}
